@tool
extends HBoxContainer

signal remove_attribute(attrinbute_dictionary_item:AttributeDictionaryItem)

var attribute_item:AttributeDictionaryItem:
	set(value):
		update_ui(value)
		attribute_item = value

var updateing_ui:bool = false

func update_ui(attribute_item:AttributeDictionaryItem):
	updateing_ui = true
	%AttributeName.text = attribute_item.name
	%Alias.text = attribute_item.alias
	updateing_ui = false
	

func _on_name_text_changed(new_text: String) -> void:
	attribute_item.name = new_text

func _on_alias_text_changed(new_text: String) -> void:
	attribute_item.alias = new_text

func _on_remove_pressed() -> void:
	remove_attribute.emit(attribute_item)
